﻿Public Class cConta
    Public Shared ldv As Int16
    Public Shared Function ValidarDigitoVerificacion(ByVal unNit As String, ByVal dv As Int16) As Boolean
        Dim miTemp As String
        Dim miContador As Integer
        Dim miResiduo As Integer
        Dim miChequeo As Integer
        Dim miArregloPA As Integer() = New Integer(14) {}
        miArregloPA(0) = 3
        miArregloPA(1) = 7
        miArregloPA(2) = 13
        miArregloPA(3) = 17
        miArregloPA(4) = 19
        miArregloPA(5) = 23
        miArregloPA(6) = 29
        miArregloPA(7) = 37
        miArregloPA(8) = 41
        miArregloPA(9) = 43
        miArregloPA(10) = 47
        miArregloPA(11) = 53
        miArregloPA(12) = 59
        miArregloPA(13) = 67
        miArregloPA(14) = 71
        miChequeo = 0
        miResiduo = 0
        For miContador = 0 To unNit.Length - 1
            miTemp = unNit((unNit.Length - 1) - miContador).ToString()
            miChequeo = miChequeo + (Convert.ToInt32(miTemp) * miArregloPA(miContador))
        Next
        miResiduo = miChequeo Mod 11
        If miResiduo > 1 Then
            ldv = (11 - miResiduo)
            Return dv = ldv
        End If
        ldv = miResiduo
        Return dv = ldv
    End Function
End Class
